Evolving a Design and Keeping It Clean
from
Domain Modeling Made Functional
LT;DR
要件が変わったら、必ず最初に
ドメインモデル
を見直す
型駆動設計
により、様々な恩恵が受けられる
ドメインオブジェクト
を変更するとコンパイルエラーが発生するため、誤って壊す危険性は無い
ワークフロー
に
依存関係
を追加する場合もコンパイルエラーが発生する
ワークフロー
に新しいステップを追加する場合、他のステップに手を加える必要はない
オープン・クローズドの原則
入出力の型が同じであれば、互換性を維持しつつ関数本体を変更できる
#DDD
#読書メモ
#Domain_Modeling_Made_Functional